package cn.wolfcode.trip.base.service;

import cn.wolfcode.trip.base.domain.Travel;
import cn.wolfcode.trip.base.domain.TravelContent;
import cn.wolfcode.trip.base.query.TravelQueryObject;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

public interface ITravelService {


    void save(Travel travel);

    /**
     * 高级查询
     *
     * @param qo
     * @return
     */
    PageInfo query(TravelQueryObject qo);

    void update(Travel travel);

    void delete(Long id);

    Travel get(Long id);

    List<Travel> selectAll();

    void changeState(Travel travel);

    TravelContent getTravelById(Long travelId);

    List<Travel> selectTravelsBystrategyId(Long strategyId);

    void deleteRelation(Long strategyId, Long travelId);

    List<Travel> getRegionTravelByStrategyId(Long strategyId);

    void saveRelation(Long strategyId, Long travelId);

    Map<String,Object> getTravelAndStatus(Long userId, Long travelId);

    List<Travel> getTravelsByUserId(Long userId);
}
